package com.magicalcoder.youyamvc.app.adminuser.dao;

import com.magicalcoder.youyamvc.app.model.defined.IntegerDate;
import com.magicalcoder.youyamvc.app.model.defined.IntegerObject;
import com.magicalcoder.youyamvc.app.model.AdminUser;
import com.magicalcoder.youyamvc.app.model.defined.AdminUserWithRole;
import java.util.List;
import java.util.Map;

/**
* 代码为自动生成 Created by www.magicalcoder.com
* 如果你改变了此类 read 请将此行删除
* 欢迎加入官方QQ群:323237052
*/

public interface AdminUserDao{
    AdminUser getAdminUser(Map<String, Object> query);
    List<AdminUser> getAdminUserList(Map<String, Object> query);
    Integer getAdminUserListCount(Map<String, Object> query);
    Long  insertAdminUser(AdminUser entity);
    Long  replaceAdminUser(AdminUser entity);
    void batchInsertAdminUser(List<AdminUser> list);
    void batchReplaceAdminUser(List<AdminUser> list);
    void batchUpdateAdminUser(List<AdminUser> list);
    void updateAdminUser(AdminUser entity);
    void updateAdminUserWithoutNull(AdminUser entity);
    void updateAdminUserByWhereSql(Map<String,Object> entity);

    List<AdminUserWithRole> getAdminUserWithRoleByRoleIdList(Map<String, Object> query);

    void truncateAdminUser();
    void deleteAdminUser(Map<String, Object> query);
    void deleteAdminUserList(Map<String, Object> query);
    void deleteAdminUserByWhereSql(Map<String, Object> query);
    void batchDeleteAdminUser(List<Long> list);
    void batchDeleteAdminUserList(List<AdminUser> entityList);
    List<IntegerDate> statisticsDateCountList(Map<String,Object> query);
    List<IntegerDate> statisticsDateIntervalList(Map<String,Object> query);
    List<IntegerObject> statisticsGroupList(Map<String,Object> query);
}
